package com.burst.reptile.framework.web.warpper;

import java.util.List;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.burst.reptile.common.utils.ToolUtil;

/**
 * 控制器查询结果的包装类基类
 * @author wujin
 * @param <T>
 *
 * @date: 2020年6月19日 上午9:40:53
 */
public abstract class BaseControllerWrapper<T> {

	private List<T> multi = null;

	public BaseControllerWrapper(Page<T> page) {
		if(ToolUtil.isNotEmpty(page) && ToolUtil.isNotEmpty(page.getRecords())) {
			this.multi = page.getRecords();
		}
	}
	
	public BaseControllerWrapper(List<T> multi) {
		if(ToolUtil.isNotEmpty(multi)) {
			this.multi = multi;
		}
	}

	public void wrap() {
		if (ToolUtil.isNotEmpty(multi)) {
			for (T t : multi) {
				wrapTheMap(t);
			}
		}
	}
	
	protected abstract void wrapTheMap(T t);
}
